import requests
from configs.data import GlobalVariable
from utils.handle_json import HandleJson
from utils.log_control import INFO
ss = requests.session()
variable = GlobalVariable()


def send_all_request(caseInfo,kwargs: dict):
    INFO.logger.info(f"发送请求的数据是：{kwargs}")
    write_request(caseInfo,kwargs)
    res = ss.request(**kwargs)
    INFO.logger.info(f"接口响应的数据是：{res.text}")
    write_respond(caseInfo, res)
    return res


def write_request(caseInfo,kwargs):
    """
    caseInfo 传入用例数据，写到api_request_info.json文件
    """
    handle_json = HandleJson('api_request_info.json')
    variable.request_result_dict.update({
        caseInfo.id:
            {
                'skip': caseInfo.skip,
                'epic': caseInfo.epic,
                'feature': caseInfo.feature,
                'story': caseInfo.story,
                'title': caseInfo.title,
                'request': kwargs,
            }})
    handle_json.write_data(variable.request_result_dict)

def write_respond(caseInfo, res):
    """
    caseInfo 传入用例数据，写到api_respond_info.json文件
    res 传入接口响应，写到json文件
    """
    handle_json = HandleJson('api_respond_info.json')
    variable.respond_result_dict.update({caseInfo.id: res.json()})
    handle_json.write_data(variable.respond_result_dict)